using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

using DataAccess;
using DataTransferObject;
namespace Business
{
    public enum NhanVienBusResult
    {
        OK,
        HOTENERROR,
        GIOITINHERROR,
        NGAYSINHERROR,
        TENDANGNHAPERROR,
        MATKHAUERROR,
        CHUCVUERROR,
        BOPHANERROR,
        BANGCAPERROR,
        DAOERROR
    }
    public class clsNhanVienBUS
    {
        // Filed
        private clsNhanVienDAO NhanVienDAO;

        // Contructors
        public clsNhanVienBUS()
        {
            this.NhanVienDAO = new clsNhanVienDAO();
        }


        #region Methods

        //Phương thức kiểm tra tên đăng nhập.
        public bool KiemTraTenDangNhap(String TenDangNhap)
        {
            return NhanVienDAO.KiemTraTenDangNhap(TenDangNhap);
        }

        //Phương thức kiểm tra đăng nhập.
        public bool KiemTraDangNhap(String TenDangNhap, String MatKhau)
        {
            return NhanVienDAO.KiemTraDangNhap(TenDangNhap, MatKhau);
        }

        //Phương thức kiểm tra tài khoản.
        public clsNhanVienDTO KiemTraTaiKhoan(String TenDangNhap, String MatKhau, String MaBoPhan)
        {
            return NhanVienDAO.KiemTraTaiKhoan(TenDangNhap, MatKhau, MaBoPhan);
        }

        public DataTable LayDanhNhanVien()
        {
            return this.NhanVienDAO.SelectAll();
        }

        public DataTable LayThongTinNhanVien()
        {
            return this.NhanVienDAO .LayThongTinNhanVien ();
        }

        public DataTable TimKiemMotNhanVien(clsNhanVienDTO obj)
        {
            return this.NhanVienDAO.TimKiemNhanVien(obj);
        }
        public NhanVienBusResult ThemNhanVien(clsNhanVienDTO obj)
        {
            if (!this.NhanVienDAO.Insert(obj))
                return NhanVienBusResult.DAOERROR;
            return NhanVienBusResult.OK;
        }

        public NhanVienBusResult SuaNhanVien(clsNhanVienDTO obj)
        {
            if (!this.NhanVienDAO.Update(obj))
                return NhanVienBusResult.DAOERROR;
            return NhanVienBusResult.OK;
        }

        public NhanVienBusResult XoaNhanVien(clsNhanVienDTO obj)
        {
            if (!this.NhanVienDAO.Delete(obj))
                return NhanVienBusResult.DAOERROR;
            return NhanVienBusResult.OK;
        }

        #endregion
    }
}

